class Response {
	constructor(status, message){
		if(!status) throw new Error('status为undefined')
		this.status = status
		if(message){
			if(message instanceof Error){
				this.message = message.message
			}else{
				this.message = message
			}
		}else{
			switch (status){
				case 200:
					this.message = '请求成功' //用于常规的成功响应，返回请求的数据
					break;
				case 201: 
					this.message = '新增成功' //用于资源创建成功的场景（如新增用户）
					break;
				case 204:
					this.message = '操作成功' //用于删除,修改,更新等操作
					break;
				case 400:
					this.message = '请求参数错误' //用于参数验证失败时使用，返回具体的错误字段信息
					break;
				case 401: 
					this.message = '身份认证已过期' //用于身份验证失败（如 JWT 令牌无效））
					break;
				case 403:
					this.message = '权限不足' //权限不足时使用,账号被封禁（如管理员账号才能登录的后台）
					break;
				case 404:
					this.message = '资源不存在' //请求的资源不存在时使用
					break;
				case 409: 
					this.message = '资源冲突' //资源冲突（如用户名已存在）
					break;
				case 413:
					this.message = '文件过大' //上传文件过大（超过服务器限制）
					break;
				case 415:
					this.message = '文件类型不支持' //上传文件类型不支持（如服务器只允许图片，却上传了视频）
					break;
				case 429: 
					this.message = '频繁请求' //登录次数过多，触发限流（如防止暴力破解）
					break;
				case 503:
					this.message = '服务器维护中'  //服务维护或过载时使用
					break;
				default:
					this.message = '服务器异常' //服务器代码异常时使用
					break;
			}
		}
	}
}

module.exports = Response